Johann von Avesnes (* 1248; † 22. August 1304 in Valenciennes) war als Johann II. (Jean II.) von 1280 bis 1304 Graf von Hennegau und ebenfalls als Johann II. (Jan II.) von 1299 bis 1304 Graf von Holland. Er war der Sohn Johanns von Avesnes (1218–1257) und Adelheid von Holland. Seine Großmutter war die Gräfin Margarete II. von Flandern und Hennegau.
Er war neun Jahre alt, als sein Vater starb. In einigen Dokumenten wird er danach als Damoisel de Hainaut oder Héritier de Hainaut bezeichnet, entsprechend dem Ergebnis des Flämischen Erbfolgekriegs, der ihm als Nachkommen aus Margarethes erster Ehe die Grafschaft Hennegau zusprach. Unzufrieden mit seinem Anteil bereitete er sich darauf vor, die Teilung in erneutem Kampf gegen das Haus Dampierre zu revidieren, während er gleichzeitig darauf wartete, das Erbe in Hennegau antreten zu können. Am 24. September 1272 verbündete er sich mit seinem 18-jährigen Vetter Florens V. von Holland, am 29. Mai 1275 erlangte er die Unterstützung des Königs Rudolf von Habsburg. Am 13. Januar 1277 schließlich sicherte ihm Rudolf die Nachfolge in Holland zu, sollte Florens ohne Nachkommen sterben.
Als seine Großmutter 1280 starb, konnte er die Regierung in Hennegau antreten, während sein Onkel Guido von Dampierre gemäß dem Schiedsspruch von 1246 Flandern erbte – der Krieg zwischen den beiden brach erwartungsgemäß aus, und endete 1287, ohne dass sich an der Situation etwas geändert hätte.
Johann versuchte, seine Grafschaft um weitere Gebiete zu vergrößern, wozu er seine Vasallen unter Druck setzte, um von ihnen die benötigten finanziellen Mittel zu erhalten, die sie wiederum an Kirchengut, insbesondere Klöstern schadlos hielten, bis der Bischof von Cambrai – seit 1286 war dies sein eigener Bruder Wilhelm – ihn mit einem Interdikt belegte. Zudem befand er sich in einer Auseinandersetzung mit den Bürgern von Valenciennes, die von ihm die Fortführung ihrer Privilegien verlangten, und die sich 1290 unter den Schutz des französischen Königs Philipp IV. und Guido von Dampierres stellten. Erst als nach sieben Jahren der König und der Graf von Flandern aneinandergerieten, entspannte sich die Situation: Philipp IV. verständigte sich mit Johann, anerkannte dessen Besitz von Valenciennes, das wiederum von Johann Pardon erhielt.
Als Florens V. von Holland am 27. Juli 1296 ermordet wurde, folgte ihm sein zwölfjähriger Sohn Johann I., der als in England erzogener Schwiegersohn des Königs Eduard I. bald zum Spielball der Engländer wurde. Die Holländer riefen daraufhin Johann von Avesnes gegen diesen „machtlosen und schwachsinnigen Kümmerling“ zu Hilfe. Der Graf von Hennegau hob Truppen aus und zog mit ihnen nach Holland, wo der Regent Wolfhart I. von Borsselen am 30. August 1299 ermordet worden war, und übernahm selbst die Regentschaft. Johann I. starb am 10. November 1299, offiziell an Dysenterie, Gerüchten zufolge eines unnatürlichen Todes. Johann von Avesnes wurde sein Nachfolger in Holland, Seeland und Friesland, und seine erste Amtshandlung bestand darin, die Mörder seines Vetters Florens zu verfolgen: Jan von Cuick, Jan von Heusden, Gijsbert Amstel, Herman Woerden und Gerhard von Velsen.
Probleme ergaben sich in Seeland, dessen Adel, vom Grafen von Flandern aufgestachelt, unter der Führung Jans von Renesse gegen Johann von Avesnes erhob, aber von dessen gleichnamigen Sohn, genannt „Jean sans Merci“, dem Grafen von Ostervant, der die Regierung in Seeland übernahm, geschlagen wurde.